<?php

/**
 * Provides  generic  non output-specific  drawing  functions used  by
 * IDisplayListElement to display itself.
 *
 * Coordinates start in the upper-left corner; Y-axis is upside-down.
 *
 * <pre>
 * O-------X
 * |
 * |
 * |
 * Y
 * </pre>
 *
 * 
 * ---
 *
 * Предоставляет  набор  функций   рисования,  не  зависящих  от  типа
 * выходного файла, которыми пользуется IDisplayListElement.
 *
 * Начало координат  находится в верхнем левом углу;  ось Y направлена
 * вниз.
 */
interface ICanvas {
  // TODO

  function moveTo($x, $y);
  function lineTo($x, $y);

  function setLineWidth($w);
  function setDash($fill, $skip);

  function setColor($color);

  function setFont($typeface, $size, $variant);

  function text($string, $x, $y);

  function filledRectangle($left, $top, $width, $height, $color);

  function image($image, $x, $y, $width, $height);
  function imageRepeated($image, $x, $y, $area_left, $area_top, $area_width, $area_height);
  function imageRepeatedVertically($image, $x, $y, $area_top, $area_height);
  function imageRepeatedHorizontally($image, $x, $y, $area_left, $area_height);
}

?>